package com.flyqiu.common.crypto.md5;

import cn.hutool.crypto.digest.MD5;

/**
 * 提供MD5摘要相关操作的工具类。
 */
public class FlyQiuMd5 {

    /**
     * 计算给定字符串的MD5摘要。
     *
     * @param data 待计算摘要的字符串
     * @return MD5摘要结果（十六进制字符串形式）
     */
    public static String md5(String data) {
        return MD5.create().digestHex(data);
    }

    /**
     * 检查给定字符串的MD5摘要是否与目标MD5摘要匹配。
     *
     * @param data       待检查的字符串
     * @param targetMd5  目标MD5摘要（十六进制字符串形式）
     * @return 如果匹配则返回true，否则返回false
     */
    public static boolean isMatch(String data, String targetMd5) {
        String dataMd5 = MD5.create().digestHex(data);
        return dataMd5.equals(targetMd5);
    }
}
